package lucava.metamodel.dot;

public class DotGraph {

	protected String name;

	protected java.util.List<lucava.metamodel.dot.DotNode> nodes = new java.util.ArrayList<lucava.metamodel.dot.DotNode>();

	protected java.util.List<lucava.metamodel.dot.DotProperty> nodeProperties = new java.util.ArrayList<lucava.metamodel.dot.DotProperty>();

	protected java.util.List<lucava.metamodel.dot.DotProperty> graphProperties = new java.util.ArrayList<lucava.metamodel.dot.DotProperty>();

	protected java.util.List<DotSubgraph> subGraphs = new java.util.ArrayList<DotSubgraph>();

	protected java.util.List<lucava.metamodel.dot.DotAssociation> associations = new java.util.ArrayList<lucava.metamodel.dot.DotAssociation>();

	/**
	 * Getter de l'attribut name.
	 */
	public String getName() {
		return this.name;
	}

	/**
	 * Setter de l'attribut name.
	 * 
	 * @param aString
	 */
	public void setName(String aString) {
		this.name = aString;
	}

	/**
	 * Getter de l'attribut nodes.
	 */
	public java.util.List<lucava.metamodel.dot.DotNode> getNodes() {
		return this.nodes;
	}

	/**
	 * Setter de l'attribut nodes.
	 * 
	 * @param aDotNode
	 */
	public void setNodes(java.util.List<lucava.metamodel.dot.DotNode> aDotNode) {
		this.nodes = aDotNode;
	}

	/**
	 * Getter de l'attribut nodeProperties.
	 */
	public java.util.List<lucava.metamodel.dot.DotProperty> getNodeProperties() {
		return this.nodeProperties;
	}

	/**
	 * Setter de l'attribut nodeProperties.
	 * 
	 * @param aDotProperty
	 */
	public void setNodeProperties(
			java.util.List<lucava.metamodel.dot.DotProperty> aDotProperty) {
		this.nodeProperties = aDotProperty;
	}

	/**
	 * Getter de l'attribut graphProperties.
	 */
	public java.util.List<lucava.metamodel.dot.DotProperty> getGraphProperties() {
		return this.graphProperties;
	}

	/**
	 * Setter de l'attribut graphProperties.
	 * 
	 * @param aDotProperty
	 */
	public void setGraphProperties(
			java.util.List<lucava.metamodel.dot.DotProperty> aDotProperty) {
		this.graphProperties = aDotProperty;
	}

	/**
	 * Getter de l'attribut subGraphs.
	 */
	public java.util.List<DotSubgraph> getSubGraphs() {
		return this.subGraphs;
	}

	/**
	 * Setter de l'attribut subGraphs.
	 * 
	 * @param aDotSubgraph
	 */
	public void setSubGraphs(java.util.List<DotSubgraph> aDotSubgraph) {
		this.subGraphs = aDotSubgraph;
	}

	/**
	 * Getter de l'attribut associations.
	 */
	public java.util.List<lucava.metamodel.dot.DotAssociation> getAssociations() {
		return this.associations;
	}

	/**
	 * Setter de l'attribut associations.
	 * 
	 * @param aDotAssociation
	 */
	public void setAssociations(
			java.util.List<lucava.metamodel.dot.DotAssociation> aDotAssociation) {
		this.associations = aDotAssociation;
	}

	/**
	 * Méthode d'acceptation du visiteur.
	 */
	public void accept(
			lucava.metamodel.dot.visitor.IDotMetaModelVisitor aVisitor) {
		aVisitor.visitDotGraph(this);
	}
}
